if (extension.type != ExtensionUtils.ExtensionType.PER_USER)
return false;
- if (!ExtensionSystem.unloadExtension(uuid))
+ if (!ExtensionSystem.unloadExtension(extension))
return false;
FileUtils.recursivelyDeleteDir(extension.dir, true);
let oldExtension = ExtensionUtils.extensions[uuid];
let extensionDir = oldExtension.dir;
- if (!ExtensionSystem.unloadExtension(uuid))
+ if (!ExtensionSystem.unloadExtension(oldExtension))
return;
FileUtils.recursivelyMoveDir(extensionDir, oldExtensionTmpDir);
try {
ExtensionSystem.loadExtension(extension);
} catch(e) {
- ExtensionSystem.unloadExtension(uuid);
+ ExtensionSystem.unloadExtension(extension);
logError(e, 'Error loading extension %s'.format(uuid));
_signals.emit('extension-state-changed', extension);
}
-function unloadExtension(uuid) {
- let extension = ExtensionUtils.extensions[uuid];
- if (!extension)
- return false;
-
+function unloadExtension(extension) {
// Try to disable it -- if it's ERROR'd, we can't guarantee that,
// but it will be removed on next reboot, and hopefully nothing
// broke too much.
- disableExtension(uuid);
+ disableExtension(extension.uuid);
extension.state = ExtensionState.UNINSTALLED;
_signals.emit('extension-state-changed', extension);
- delete ExtensionUtils.extensions[uuid];
+ delete ExtensionUtils.extensions[extension.uuid];
return true;
}